package com.cloudbroker.bcs.platform.dav.bizapi.t2service.operate;

import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.IFSFunctionIdsNew.IFSOperateBroker;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.customer.back.InvestAccountListBackForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.customer.vo.InvestAccountForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.result.InvestBranchNames;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.result.InvestCheckDetailsForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.result.InvestCheckListResult;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.result.InvestDetailsForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.BrokerFundFrozenForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.InvestBorkerIdForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.BranchNoForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.InvestCheckBrokerForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.InvestCheckForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.InvestCheckListForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.operate.vo.InvestCheckProcessForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.viewpoint.vo.BrokerInfoPlatForm;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * Created by Lnq on 2016/8/18.
 */
@ServiceModule
public interface InvestListT2BizService {

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_CHECK_LIST,desc = "投顾审核列表")
    public InvestCheckListResult funcInvestCheckList(@ServiceParam("param") InvestCheckListForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_CHECK_PROCESS,desc = "投顾审核流程配置")
    public HSBCPSBackVO funcInvestCheckProcess(@ServiceParam("param") InvestCheckProcessForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_CHECK,desc = "投顾审核")
    public HSBCPSBackVO funcInvestCheck(@ServiceParam("param") InvestCheckForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_LIST,desc = "获取在职或限制投顾列表")
    public InvestAccountListBackForm funcInvestAccountList(@ServiceParam("param") InvestAccountForm form);

    @Service(functionId= IFSOperateBroker.FUNC_OPERATE_INVEST,desc = "限制或者激活投顾")
    public HSBCPSBackVO funcOperateInvestList(@ServiceParam("param") BrokerFundFrozenForm form);

    @Service(functionId= IFSOperateBroker.FUNC_BRANCH_NAMES,desc = "获取归属地")
    public InvestBranchNames funcGetBranchNames(@ServiceParam("param") BranchNoForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_DETAILS,desc = "获取投顾详情")
    public InvestDetailsForm funcGetInvestDetails(@ServiceParam("param")InvestBorkerIdForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_CHECK_DETAILS,desc = "获取审核列表投顾详情")
    public InvestCheckDetailsForm funcInvestCheckDetails(@ServiceParam("param") InvestCheckBrokerForm form);

    @Service(functionId= IFSOperateBroker.FUNC_INVEST_CHANGE_INFO,desc = "获取审核列表投顾详情")
    public HSBCPSBackVO funcInvestChangeInfo(@ServiceParam("param") BrokerInfoPlatForm form);
}
